package thread;
/**
 * 成员方法上使用synchronized修饰后，锁对象为该方法所属对象this
 * 但是静态方法不同，静态方法所属类，全局就一份，因为静态方法上使用synchronized后
 * 该方法一定具有同步效果。而它指定的锁对象为当前类的类对象(Class的一个实例。)
 * 
 * 类对象我们在后面反射的知识点中会介绍。
 * @author 范传奇
 *
 */
public class SyncDemo3 {
	public static void main(String[] args) {
		Thread t1 = new Thread() {
			public void run() {
				Boo.dosome();
			}
		};
		Thread t2 = new Thread() {
			public void run() {
				Boo.dosome();
			}
		};
		t1.start();
		t2.start();
	}
}

class Boo{
	public synchronized static void dosome() {
		try {
			Thread t = Thread.currentThread();
			System.out.println(t.getName()+":正在执行dosome方法...");
			Thread.sleep(5000);
			System.out.println(t.getName()+":执行dosome方法完毕!");
		} catch (Exception e) {
		}
	}
}









